package com.server.entity;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.Date;
import java.util.StringJoiner;

/**
 * The type Movies type.
 */
public class MoviesType {
    private Integer moviesTypeId;

    private String moviesTypeName;

    private Boolean moviesTypeIsShow;

    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date moviesTypeCreate;

    /**
     * Instantiates a new Movies type.
     *
     * @param moviesTypeName   the movies type name
     * @param moviesTypeIsShow the movies type is show
     * @param moviesTypeCreate the movies type create
     */
    public MoviesType(String moviesTypeName, Boolean moviesTypeIsShow, Date moviesTypeCreate) {
        this.moviesTypeName = moviesTypeName;
        this.moviesTypeIsShow = moviesTypeIsShow;
        this.moviesTypeCreate = moviesTypeCreate;
    }

    /**
     * Instantiates a new Movies type.
     */
    public MoviesType() {
    }

    /**
     * Gets movies type id.
     *
     * @return the movies type id
     */
    public Integer getMoviesTypeId() {
        return moviesTypeId;
    }

    /**
     * Sets movies type id.
     *
     * @param moviesTypeId the movies type id
     */
    public void setMoviesTypeId(Integer moviesTypeId) {
        this.moviesTypeId = moviesTypeId;
    }

    /**
     * Gets movies type name.
     *
     * @return the movies type name
     */
    public String getMoviesTypeName() {
        return moviesTypeName;
    }

    /**
     * Sets movies type name.
     *
     * @param moviesTypeName the movies type name
     */
    public void setMoviesTypeName(String moviesTypeName) {
        this.moviesTypeName = moviesTypeName == null ? null : moviesTypeName.trim();
    }

    /**
     * Gets movies type is show.
     *
     * @return the movies type is show
     */
    public Boolean getMoviesTypeIsShow() {
        return moviesTypeIsShow;
    }

    /**
     * Sets movies type is show.
     *
     * @param moviesTypeIsShow the movies type is show
     */
    public void setMoviesTypeIsShow(Boolean moviesTypeIsShow) {
        this.moviesTypeIsShow = moviesTypeIsShow;
    }

    /**
     * Gets movies type create.
     *
     * @return the movies type create
     */
    public Date getMoviesTypeCreate() {
        return moviesTypeCreate;
    }

    /**
     * Sets movies type create.
     *
     * @param moviesTypeCreate the movies type create
     */
    public void setMoviesTypeCreate(Date moviesTypeCreate) {
        this.moviesTypeCreate = moviesTypeCreate;
    }

    @Override
    public String toString() {
        return new StringJoiner(", ", "[", "]")
                .add("moviesTypeId=" + moviesTypeId)
                .add("moviesTypeName='" + moviesTypeName + "'")
                .add("moviesTypeIsShow=" + moviesTypeIsShow)
                .add("moviesTypeCreate=" + moviesTypeCreate)
                .toString();
    }
}